<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>v-cloak指令</title>
    <style>
      /* 属性选择器 */
      [v-cloak]{
        display: none;
        /* 当标签拥有 v-clock指令时,隐藏标签 */
      }
    </style>
    <!-- 引入Vue.js -->
    <!-- <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.5/vue.min.js"></script> -->
    <!-- 先引入vue.js时若网络较慢,会出现js阻塞,等vue.js加载完毕后再渲染页面 -->
  </head>
  <body>
    <!-- 准备好一个容器 -->
    <div id="root">
      <h2 v-cloak>{{name}}</h2>
      <!-- v-cloak指令会为标签添加一个v-cloak指令,Vue.js加载完毕后会移除v-cloak指令 -->
      <!-- 当先加载DOM后引入Vue.js时,且Vue.js加载缓慢,可以使用v-cloak指令配合CSS实现先隐藏标签,等加载完毕后再显示 -->
    </div>
  </body>
  <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.5/vue.min.js"></script>
  <!-- 先加载DOM再引入 vue.js 会出现模板无法正常加载,出现错误显示 -->
  <script>
    const vm = new Vue({
      el: "#root",
      data() {
        return {
          name: "张三",
        };
      },
    });
  </script>
</html>
